import {FC,useRef,useState} from 'react'
import Child from './child'

// 暴露的方法
export type Ifoucs = {
    getFocus:(value?:string) => boolean
}

const Imperative:FC<any> = () => {
    // 需求：父组件的点击按钮，让子组件的input获取焦点
    // 通过ref获取子组件的暴露方法
    let f = useRef<Ifoucs | null>(null)
    // 返回的内容就是要暴露的内容
    return(
        <fieldset>
            <legend>暴露方法</legend>
            <h1>父组件</h1>
            <Child ref={f} name="韩梅梅"/>
            <button onClick={()=>{
                f.current?.getFocus()
            }}>父组件的按钮</button>
        </fieldset>
    )
}
export default Imperative